// 用来处理多个req请求的时候，当所有请求完成后，才关闭loading动画
let requestTimes = 0

const request = (params) => {

    // const baseUrl = 'http://api.zbztb.cn/api/public/v1'
    const baseUrl = 'https://api-hmugo-web.itheima.net/api/public/v1'

    // 判断url中是否含有 /my/ 那么请求的是 私有链接 需要header token的
    // ...params.header 是为了先复制原来的header，再加上这里定义的
    let header = {...params.header }

    // 给header添加一个属性
    if (params.url.includes('/my/')) {
        header['Authorization'] = wx.getStorageSync('token');
    }

    requestTimes++

    // 给微信的异步请求封装一个promise对象
    return new Promise((resolve, reject) => {

        wx.showLoading();

        wx.request({
            ...params,
            header: header,
            url: baseUrl + params.url,
            success: function(res) {
                resolve(res)
            },
            fail: function(err) {
                reject(err)
            },
            complete: function() {
                requestTimes--
                if (requestTimes === 0) {
                    wx.hideLoading();
                }

            }
        })
    })
}

module.exports = {
    request
}